home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / program / gemxx19.zoo / gem++19 / include / gemfs.h < prev    next >
C/C++ Source or Header  |  1993-11-20  |  2KB  |  70 lines

  1. /////////////////////////////////////////////////////////////////////////////
  2. //
  3. //  GEMfileselector
  4. //
  5. //  A GEMfileselector is a source of filenames.
  6. //
  7. //  This file is Copyright 1992,1993 by Warwick W. Allison.
  8. //  This file is part of the gem++ library.
  9. //  You are free to copy and modify these sources, provided you acknowledge
  10. //  the origin by retaining this notice, and adhere to the conditions
  11. //  described in the file COPYING.LIB.
  12. //
  13. /////////////////////////////////////////////////////////////////////////////
  14.  
  15. #ifndef GEMfs_h
  16. #define GEMfs_h
  17.  
  18. //
  19. //  Glossary:
  20. //
  21. //    filename   E:\usr\gem++\foo.bar
  22. //    filespec   E:\usr\gem++\*.bar   or   *.bar
  23. //    path       E:\usr\gem++\        or   E:\usr\gem++
  24. //    file       foo.bar
  25. //
  26. //  A "file" appears in the "File:" area of file selector.
  27. //  A "filespec" appears in the "Path:" area of the file selector.
  28. //  A "filename" is returns by the Get() method.
  29.  
  30. class GEMfileselector
  31. {
  32. public:
  33.     GEMfileselector(int maxlen=128);
  34.     GEMfileselector(char* filename);
  35.     virtual ~GEMfileselector();
  36.  
  37.     // Returns result both ways.  NULL if cancelled.
  38.     const char* Get(const char* prompt, char* into=0);
  39.  
  40.     // Avoid using the following calls.  Each GEMfileselector should remain
  41.     // at the path the user specified.
  42.  
  43.     void Path(const char* path);
  44.     // eg. Path("E:\foo"); Path("E:\foo\");
  45.  
  46.     void File(const char* file);
  47.     const char* File() const;
  48.     // eg. File("foo.bar"); oldgot=File();
  49.  
  50.     void Filespec(const char* filespec);
  51.     const char* Filespec() const;
  52.     // eg. Filespec("*.bar"); Filespec("E:\foo\*.bar"); oldspec=Filespec();
  53.  
  54.     void Filename(const char* filename);
  55.     const char* Filename() const;
  56.     // eg. Filename("foo.bar"); Filename("E:\foo\foo.bar"); oldgot=Filename();
  57.  
  58.     const char* CWD(); // Resets filespec to current work directory.
  59.  
  60. private:
  61.     void Merge();
  62.     char* filename;
  63.     char* filespec;
  64.     char* file;
  65.     int len;
  66. };
  67.  
  68.  
  69. #endif
  70.